package com.ecloud.openapi.security.convert;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import com.ecloud.openapi.security.dto.BasePermissionOperationDto;
import com.ecloud.openapi.security.po.BasePermissionOperationPo;
import com.ecloud.openapi.security.vo.BasePermissionOperationVo;

/**
 * BasePermissionOperationConvert 模型转换
 *
 * @author LiuGangQiang Create in 2021/07/04
 */
@Mapper
public interface BasePermissionOperationConvert {
    BasePermissionOperationConvert INSTANCE = Mappers.getMapper(BasePermissionOperationConvert.class);

    /**
     * {@link BasePermissionOperationDto}对象 >> {@link BasePermissionOperationPo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BasePermissionOperationPo} 对象
     */
    BasePermissionOperationPo dtoToPo(BasePermissionOperationDto dto);

    /**
     * {@link BasePermissionOperationDto}集合 >> {@link BasePermissionOperationPo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BasePermissionOperationPo} 集合
     */
    List<BasePermissionOperationPo> dtoToPo(List<BasePermissionOperationDto> dtos);

    /**
     * {@link BasePermissionOperationPo}对象 >> {@link BasePermissionOperationVo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BasePermissionOperationVo} 对象
     */
    BasePermissionOperationVo poToVo(BasePermissionOperationPo po);

    /**
     * {@link BasePermissionOperationPo}集合 >> {@link BasePermissionOperationVo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BasePermissionOperationVo} 集合
     */
    List<BasePermissionOperationVo> poToVo(List<BasePermissionOperationPo> pos);
}
